<%@page contentType="content-type: application/x-javascript" %>
var apuntarseInicializado = false;
var datosApuntado = 'Pendiente';

var APUNTARSE_TORNEOS = {

	inicio : function() {
		var activo;
		var torneos = $('#torneos-de-usuario');
		var formulario = $('#torneos-de-usuario form');
		torneos.find('td.apuntarse button').unbind('click');
		torneos.find('td.apuntarse button').click(function() {
			activo = $(this);
			if (torneos.find('div.cargando').length == 0) {
				if (activo.val() == 'privado')
					formulario.addClass('privado');
				else
					formulario.removeClass('privado');
				var posicion_boton = activo.position().top + 14;
				var posicion_actual = parseInt(formulario.css('top'));
				if ((formulario.css('display') == 'block') && (posicion_boton != posicion_actual)) {
					formulario.fadeOut(VELOCIDAD_FADE,function() {
						APUNTARSE_TORNEOS.mostrar(activo,formulario);
					});					
				} else if ((formulario.css('display') == 'block') && (posicion_boton == posicion_actual))
					APUNTARSE_TORNEOS.ocultar();
				else
					APUNTARSE_TORNEOS.mostrar(activo,formulario);
			} else {
				APUNTARSE_TORNEOS.ocultar();
			}
		});
		if (!apuntarseInicializado) {
			formulario.find('.boton-cerrar').click(function() {
				APUNTARSE_TORNEOS.ocultar();
			});
			formulario.unbind('submit');
			formulario.submit(function() {
				CARGANDO.mostrar(torneos);
				torneos.find('.cargando').css('top',parseInt($(this).css('top')) + 2).css('left','247px').css('width','239px').css('height','82px');
				var nombreURL = activo.parents('tr').find('th a').attr('href').split('/')[activo.parents('tr').find('th a').attr('href').split('/').length-2]
				$.ajax({
					type: 'POST',
					url: '/xhr/xhr_apuntarse_torneo_de_usuario',
					data: 'nombre=' + nombreURL + '&contrasena=' + $('#contrasenya-torneo').val() + '&equipo=' + $('#equipo-torneo').val(),
					dataType: 'json',
					success: function(datos) {
						if (datos['cabecera']['correcto'] != '1')
							AVISO.mostrar('La contraseña introducida no es correcta. Por favor, vuelve a intentarlo',1,0);
						else { 
							AVISO.mostrar('Se ha enviado un mensaje con tu solicitud al administrador del torneo. Si te acepta te enviaremos un email para notificártelo.',0,0);
							activo.parent().addClass('apuntado').html('<strong>' + datosApuntado + '</strong>');
						}
						CARGANDO.ocultar(torneos.find('div.cargando'));
						APUNTARSE_TORNEOS.ocultar();
					},
					error: function() {
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
						CARGANDO.ocultar(torneos.find('div.cargando'));
						APUNTARSE_TORNEOS.ocultar();
					}
				});
				return false;
			});
			apuntarseInicializado = true;
		}
	},
	
	mostrar : function(cual,formulario) {
		formulario.reset();
		formulario.css('top',cual.position().top + 14);
		formulario.fadeIn(VELOCIDAD_FADE);
		$('#contrasenya-torneo').focus();
	},
	
	ocultar : function() {
		$('#torneos-de-usuario form').fadeOut(VELOCIDAD_FADE);		
	}

}




var PAGINACION_TORNEOS = {

	inicio: function() {
		var caja = $('#torneos-de-usuario');
		caja.find('ol.paginacion a').click(function() {
			CARGANDO.mostrar(caja);
			$.ajax({
				type: 'POST',
				url: '/xhr/xhr_torneos_de_usuario',
				data: 'letras=' + $(this).attr('href').split('/')[$(this).attr('href').split('/').length-3] + '&pagina=' + $(this).attr('href').split('/')[$(this).attr('href').split('/').length-2],
				dataType: 'text',
                dataFilter: function(datos) {
					return AJAX.transformar(datos);
                },
				success: function(datos) {
					if (datos['cabecera']['correcto'] == '1')
						PAGINACION_TORNEOS.actualizar(caja,datos);
					else
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(caja.find('div.cargando'));
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(caja.find('div.cargando'));
				}
			});			
			return false;
		});
	},
	
	actualizar : function(caja,datos) {
		caja.find('table').replaceWith(datos['datos']);
		caja.find('table').hide().fadeIn(VELOCIDAD_FADE);
		caja.find('ol.paginacion').replaceWith(datos['paginacion']);
		caja.find('ol.paginacion').hide().fadeIn(VELOCIDAD_FADE);
		APUNTARSE_TORNEOS.inicio();
		PAGINACION_TORNEOS.inicio();
	}
	
}




$(document).ready(function() {
	APUNTARSE_TORNEOS.inicio();
	PAGINACION_TORNEOS.inicio();
	$(document).keyup(function (e) {
		if (typeof(e) == 'undefined')
			e = event;
		if (e.keyCode == 27)
			APUNTARSE_TORNEOS.ocultar();
	});
});